﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.SQLite;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Zimmerreservierung.Model;

namespace Zimmerreservierung.Forms
{
    public partial class FormReservierungBearbeiten : FormReservierungNeu
    {
        public FormReservierungBearbeiten(Reservierung r)
            : base(r)
        {
            InitializeComponent();
            this.reservierung = rController.GetReservierung(r.Id, false);

            this.Text = "Reservierung Bearbeiten";
            this.editMode = true;

            btnNeuerKunde.Hide();
            cbKunde.SelectedValue = reservierung.Kunde.Id;

            dtpVon.Value = reservierung.Startdatum;
            dtpBis.Value = reservierung.Enddatum;
            cbZimmer.SelectedValue = reservierung.Zimmer.Id;
            //cbKosten.SelectedValue = reservierung.Zimmer.
            txtRabatt.Text = reservierung.Rabatt.ToString();
            lblKosten.Text = reservierung.Zimmerpreis.ToString() + "€";

           /* if (editMode)
            {
                double zimmerPreis = reservierung.Zimmerpreis;
                TimeSpan anzahlTage = reservierung.Enddatum - reservierung.Startdatum;
                double rbt = (reservierung.Rabatt / 100.0) + (reservierung.Kunde.Rabat / 100.0);
                double preisOhneRabatt = zimmerPreis - rbt;
                double selectedKosten = preisOhneRabatt / Convert.ToDouble(anzahlTage.Days);

                cbKosten.SelectedValue = selectedKosten;
            }*/

            foreach (Control c in page1.Controls)
                c.Enabled = false;

            foreach (Control c in page2.Controls)
            {
                c.Enabled = false;
                c.Show();
            }

            foreach (Control c in page3.Controls)
            {
                c.Enabled = false;
                c.Show();
            }

            //double preis = Convert.ToDouble(cbKosten.SelectedValue) * Convert.ToDouble(anzahlTage.Days);
            //double preisRabatt = preis * rbt;

           // reservierung.Zimmerpreis = preis - preisRabatt;


            
            //label1.Text = "Zimmer bearbeiten";
        }

        /*internal override void StoreReservierung(int kundeId, int zimmerId, string rabatt, string zimmerpreis, string startDatum, string endDatum)
        {
            // update instead of insert
            try
            {
                connection.Open();
                using (SQLiteCommand command = new SQLiteCommand(connection))
                {
                    command.CommandText = "UPDATE Reservierung SET rabatt='" + rabatt + "', zimmerpreis = '" + zimmerpreis 
                                                        + "', startDatum='" + startDatum + "', endDatum='" + endDatum + "'"
                                                        + " WHERE ID = " + reservierung.Id + ";";
                    command.ExecuteNonQuery();
                }
                connection.Close();

                MessageBox.Show("Reservierung erfolgreich aktualisiert.");
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }*/
    }
}
